// 实现这个项目的构建任务
const sass = require('sass')
const loadGruntTasks = require('load-grunt-tasks')

module.exports = grunt => {
  grunt.initConfig({
    pkg: grunt.file.readJSON("package.json"),
    sass:{
      options:{
        implementation:sass
      },
      main:{
        files:{
          'dist/css/main.css':'src/assets/styles/main.scss'
        }
      }
    },
    babel:{
      options:{
        presets:['@babel/preset-env']
      },
      main:{
        files:{
          'dist/js/main.js':'src/assets/scripts/main.js'
        }
      }
    },
    watch: {
      js:{
        files:['src/assets/scripts/*.js'],
        tasks:['babel']
      },
      css:{
        files:['src/assets/styles/*.scss'],
        tasks:['sass']
      }
    },
    uglify:{
      build:{
        src: 'dist/js/main.js',
        dest: 'dist/js/main.min.js'
      }
    },
    cssmin:{
      target:{
        files:{
          'dist/css/main.min.css':'dist/css/main.css'
        }
      }
    }
  })

  loadGruntTasks(grunt)

  grunt.registerTask('default',['sass','babel','uglify','cssmin','watch'])
}
